/**
 * Copyright(c) 2014-2016 Basung Information Technology (Shanghai) Co., Ltd.
 * <p>
 * 　　　　　　　　┏┓　　　┏┓+ +
 * 　　　　　　　┏┛┻━━━┛┻┓ + +
 * 　　　　　　　┃　　　　　　　┃
 * 　　　　　　　┃　　　━　　　┃ ++ + + +
 * 　　　　　　 ████━████ ┃+
 * 　　　　　　　┃　　　　　　　┃ +
 * 　　　　　　　┃　　　┻　　　┃
 * 　　　　　　　┃　　　　　　　┃ + +
 * 　　　　　　　┗━┓　　　┏━┛
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃ + + + +
 * 　　　　　　　　　┃　　　┃　　　　Code is far away from bug with the animal protecting
 * 　　　　　　　　　┃　　　┃ + 　　　　神兽保佑,代码无bug
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃　　+
 * 　　　　　　　　　┃　 　　┗━━━┓ + +
 * 　　　　　　　　　┃ 　　　　　　　┣┓
 * 　　　　　　　　　┃ 　　　　　　　┏┛
 * 　　　　　　　　　┗┓┓┏━┳┓┏┛ + + + +
 * 　　　　　　　　　　┃┫┫　┃┫┫
 * 　　　　　　　　　　┗┻┛　┗┻┛+ + + +
 * <p>
 * History:
 * 2017/3/1 下午1:53 Created by leijinghan
 */
package com.jade.bss.web.vo;

import com.jade.bss.base.BssConstants;
import com.jade.bss.base.customer.Customer;
import com.jade.bss.base.customer.CustomerTag;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * Explain: 
 * Description:
 *
 * @Author : <a href="mailto:jinghan.lei@basung.com">leijinghan</a>.
 * @Version: 1.0
 * @Date : 2017/3/1.
 */
public class CustomerVo implements Serializable {
    private long id;
    /** 客户类型 */
    private String type = Customer.DEFAULT_TYPE;
    /** 客户名称类型，例如手机号码、邮件地址、QQ号、微信账号、微博账号等等 */
    private String nameType = "name";
    /** customer name */
    private String name;
    /** customer password, should be encrypted */
    private String password;
    /** 密码标记，包括用户正常设置，管理员重置等等 */
    private int passFlag = Customer.PASSFLAG_INIT;
    /** customer status. */
    private int status = Customer.STATUS_ACTIVE;
    /** 客户昵称 */
    private String nickName;
    /** 客户真实名称 */
    private String trueName;
    /** mobile number */
    private String mobile;
    /** email address */
    private String email;
    /** gender */
    private int gender = Customer.SEX_MALE;
    /** 用户所在地区 */
    private String region;
    /** 用户所在国家, 冗余 */
    private String country;
    /** 用户所在身份 */
    private String province;
    /** 用户所在城市 */
    private String city;
    /** 用户所在县 */
    private String county;
    /** logo */
    private String logo;
    /** 类型 */
    private String createType;
    /** creation date */
    private Date creationDate = new Date();
    /** 生日 */
    private Date birthday;
    //客户所有者类型
    private String ownerType = BssConstants.OWNER_TYPE_SYSTEM;
    //客户所有者标识
    private String ownerId = BssConstants.OWNER_ID_SYSTEM;
    private long parentId = 0;
    /** 客户级别 */
    private int level = 0;
    /** 客户分类 */
    private long categoryId;
    private List<CustomerTag> tags;


    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getNameType() {
        return nameType;
    }

    public void setNameType(String nameType) {
        this.nameType = nameType;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public int getPassFlag() {
        return passFlag;
    }

    public void setPassFlag(int passFlag) {
        this.passFlag = passFlag;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getTrueName() {
        return trueName;
    }

    public void setTrueName(String trueName) {
        this.trueName = trueName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public String getRegion() {
        return region;
    }

    public void setRegion(String region) {
        this.region = region;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCounty() {
        return county;
    }

    public void setCounty(String county) {
        this.county = county;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public String getCreateType() {
        return createType;
    }

    public void setCreateType(String createType) {
        this.createType = createType;
    }

    public Date getCreationDate() {
        return creationDate;
    }

    public void setCreationDate(Date creationDate) {
        this.creationDate = creationDate;
    }

    public Date getBirthday() {
        return birthday;
    }

    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }

    public String getOwnerType() {
        return ownerType;
    }

    public void setOwnerType(String ownerType) {
        this.ownerType = ownerType;
    }

    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    public long getParentId() {
        return parentId;
    }

    public void setParentId(long parentId) {
        this.parentId = parentId;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public List<CustomerTag> getTags() {
        return tags;
    }

    public void setTags(List<CustomerTag> tags) {
        this.tags = tags;
    }

    public long getCategoryId() {
        return categoryId;
    }

    public void setCategoryId(long categoryId) {
        this.categoryId = categoryId;
    }
}
